package com.ityls.service;


import com.ityls.vo.BaseResult;

import java.io.IOException;
import java.security.GeneralSecurityException;
import java.util.Map;

public interface IWxPaymentService {
    BaseResult nativePay(String orderNo) throws Exception;

    // 修改订单状态
    void updateOrderStatus(Map<String,Object> bodyMap) throws GeneralSecurityException;

    // 根据订单编号查询订单信息
    String queryOrder(String orderNo) throws IOException;

    // 检查订单状态
    void checkOrderStatus(String orderNo) throws IOException;

    /**
     * 根据订单编号关闭订单
     * @param orderNo
     */
    void cancelOrder(String orderNo) throws IOException;

    /**
     * 退款
     * @param orderNo 退款编号
     * @param reason 退款理由
     */
    void refund(String orderNo,String reason) throws IOException;

    /**
     * 处理退款
     * @param resultMap
     */
    void processRefunds(Map<String, Object> resultMap) throws GeneralSecurityException;
}
